package com.cx.mall.user.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.core.type.filter.TypeFilter;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class UserInfo implements Serializable {
    private static final long serialVersionUID = 1L;
    /** 主键ID */
 /*   因为配置文件里有   #默认是允许自动转换驼峰命名map-underscore-to-camel-case: true 所以value="id"不需要
    所以value="id"可以省略，
     type = IdType.ASSIGN_ID是自定义主键策略，
        */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /** 用户名 */
    private String username;

    /** 密码 */
    private String password;

    /** 邮箱 */
    private String email;

    /** 昵称 */
    private String nickName;

    /** 备注信息 */
    private String note;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /** 状态 (1:启用, 0:禁用) */
    @TableField(fill = FieldFill.INSERT)
    private Integer status;

    /**
     * 逻辑删除
     */
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleted;

    /**更新时间
     *
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
